sideLen=20;
gap=2;
gridSize=10;

myDia=10;


rotate([0,45,0])
makeGrid(sideLen,sideLen,2) {cube(sideLen);};


//makeGrid(myDia,myDia,1) {rotate([90,0,0]) cylinder(d=myDia, h=sideLen, $fn=6);};

//rotate([0,0,45])
//makeGrid(sideLen,2*sideLen,2) {cube([sideLen,sideLen,2*sideLen]);};

//////////////////////////////////////////////////////////////////////////////////
module makeGrid(objectLen, objectHeight, spacing)
{
  for( a = [0 : gridSize-1])
  {
    translate([a*objectLen+a*spacing, 0, 0])
    for( a = [0 : gridSize-1])
    {
      translate([0, 0, a*objectHeight+a*spacing])
      children(0);
    }
  }
}
//////////////////////////////////////////////////////////////////////////////////
//module makeGrid()
//{
//  for( a = [0 : gridSize-1])
//  {
//    translate([a*sideLen+a*gap, 0, 0])
//    for( a = [0 : gridSize-1])
//    {
//      translate([0, 0, a*sideLen+a*gap])
//      children(0);
//    }
//  }
//}

//////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////
